The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for elastic file system management in storage cloud environments.
Network-attached storage (NAS) is file-level computer data storage server connected to a computer network providing data access to a heterogeneous group of clients. NAS not only operates as a file server, but is specialized for this task either by its hardware, software, or configuration of those elements. NAS is often manufactured as a computer appliance—a specialized computer built from the ground up for storing and serving files—rather than simply a general purpose computer being used for the role.
NAS devices began gaining popularity as a convenient method of sharing files among multiple computers. Potential benefits of dedicated network-attached storage, compared to general-purpose servers also serving files, include faster data access, easier administration, and simple configuration. NAS systems are networked appliances which contain one or more hard drives, often arranged into logical, redundant storage containers or redundant array of independent disks (RAID). Network-attached storage removes the responsibility of file serving from other servers on the network.
Cloud storage is a model of data storage where the digital data is stored in logical pools, the physical storage spans multiple servers (and often locations), and the physical environment is typically owned and managed by a hosting company. These cloud storage providers are responsible for keeping the data available and accessible, and the physical environment protected and running. People and organizations buy or lease storage capacity from the providers to store end user, organization, or application data.
Cloud storage services may be accessed through a co-located cloud compute service, a web service application programming interface (API) or by applications that utilize the API, such as cloud desktop storage, a cloud storage gateway or Web-based content management systems.
Cloud storage is based on highly virtualized infrastructure and is like broader cloud computing in terms of accessible interfaces, near-instant elasticity and scalability, multi-tenancy, and metered resources. Cloud storage services can be utilized from an off-premises service (Amazon S3) or deployed on-premises (ViON Capacity Services). Cloud storage typically refers to a hosted object storage service, but the term has broadened to include other types of data storage that are now available as a service, like block storage.
Object storage services like Amazon S3™ and Microsoft Azure Storage™, object storage software like Openstack Swift™, object storage systems like EMC Atmos™ and Hitachi Content Platform™, and distributed storage research projects like OceanStore™ and VISION Cloud™ are all examples of storage that can be hosted and deployed with cloud storage characteristics.
Cloud storage is made up of many distributed resources, but still acts as one—often referred to as federated storage clouds. Cloud storage is highly fault tolerant through redundancy and distribution of data. Cloud storage is highly durable through the creation of versioned copies and is typically eventually consistent with regard to data replicas.